package pe.com.cotelasa.scp.dao;

import java.util.Collection;
import java.util.Date;
import pe.com.cotelasa.common.dao.IDao;
import pe.com.cotelasa.common.dao.excepcion.DAOException;
import pe.com.cotelasa.scp.entidad.OrdenCompraServicio;

/**
 * @author zer0
 */
public interface IDAOOrdenCompraServicio extends IDao<OrdenCompraServicio, Integer> {

    public Collection<OrdenCompraServicio> listarOrdenCompraServiciosConCodigo(OrdenCompraServicio ordenCS) throws DAOException;

    public Collection<OrdenCompraServicio> listarOrdenCompraServicioPorNroOrden(String nroOrden, String estadoOrdenOS, int idEmpresa) throws DAOException;

    public OrdenCompraServicio obtenerOrdenCSPorCodigo(OrdenCompraServicio ordenCS) throws DAOException;
    
    public Collection<OrdenCompraServicio> listarOrdenCSConCodigoPorOP(OrdenCompraServicio ordenCS, String[] listaEstado) throws DAOException;
    
    public Collection<OrdenCompraServicio> buscarOrdenCompraServiciosPorFiltro(OrdenCompraServicio ordenCS, Date fechaInicio, Date fechaFinal) throws DAOException;
    
    public Collection<OrdenCompraServicio> buscarOrdenCSReporte(
            OrdenCompraServicio ordenCS, 
            String[] listaEstado, 
            Date fechaInicio, 
            Date fechaFinal ) throws DAOException;
    
    public int buscarCantidadOC(OrdenCompraServicio ordenCompra) throws DAOException;
    
    public int buscarCantidadOS(OrdenCompraServicio ordenServicio) throws DAOException;
}
